home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Commo-Support / Disk-Archive / amiga-logo.dms / amiga-logo.adf / Logo / DEMO < prev    next >
Text File  |  1988-12-15  |  4KB  |  261 lines

  1. ;*******************************************************************
  2. ;*  Preliminary Amiga Logo Demo Program
  3. ;*******************************************************************
  4.  
  5. MAKE "DEMO.VERSION 1.1
  6. MAKE "DEMO.DATE [15 DEC 88]
  7.  
  8. TO DEMO.RAND.LINES
  9. PREP
  10. RAND.DRAW 2 [0 0 14]
  11. RAND.DRAW 3 [0 14 0]
  12. RAND.DRAW 2 [14 0 14]
  13. RAND.DRAW 3 [14 14 0]
  14. WINDOW
  15. HOME SETPC 0
  16. REPEAT 600 [FD 400 BK 400 RT RANDOM 100]
  17. CS
  18. SETPC 1
  19. FIN
  20. END
  21.  
  22. TO RAND.X :RANGE
  23. OUTPUT ((RANDOM :RANGE) - :RANGE / 2)
  24. END
  25.  
  26. TO RAND.Y :RANGE
  27. OUTPUT ((RANDOM :RANGE) - :RANGE / 2)
  28. END
  29.  
  30. TO PREP
  31. CS
  32. RECYCLE
  33. END
  34.  
  35. TO DEMO.SPIRAL.BOX
  36. SETRGB 2 [0 8 14]
  37. SETRGB 3 [14 10 2]
  38. SETPC 2 SPIRAL.BOX FD 2
  39. SETPC 3 SPIRAL.BOX BK 4
  40. SETPC 1 SPIRAL.BOX
  41. FIN
  42. END
  43.  
  44. TO ANGLE.BOX :LEN :ANGLE
  45. SETH :ANGLE
  46. DRAW.BOX :LEN
  47. END
  48.  
  49. TO RAND.BOX
  50. PU SETPOS LIST RAND.X 700 RAND.Y 500 PD
  51. SETPC 1 + RANDOM 3
  52. ANGLE.BOX (20 * (1 + RANDOM 8)) RANDOM 45
  53. END
  54.  
  55. TO DEMO.SPIRA.GRAPH
  56. MAKE "C 1
  57. REPEAT 4 [SETPC :C HOME SSB MAKE "C :C + 1]
  58. FIN
  59. END
  60.  
  61. TO RAND.FILLIN :LINE
  62. PU SETPOS LIST RAND.X 600 :LINE PD
  63. SETPC 1 + RANDOM 3
  64. FILLIN
  65. END
  66.  
  67. TO SAVE.RGB
  68. IF NAME? "SCR.RGB.2 [STOP]
  69. MAKE "SCR.RGB.2 RGB 2
  70. MAKE "SCR.RGB.3 RGB 3
  71. END
  72.  
  73. TO SSB
  74. REPEAT 30 [SIDEBOX FD 4 RT 12]
  75. END
  76.  
  77. TO SCATTER.CIRC :LEN
  78. SETPC 1 + RANDOM 3
  79. PU SETPOS LIST RAND.X 500 RAND.Y 300 PD
  80. REPEAT 20 [FD :LEN BK :LEN RT RANDOM 30]
  81. END
  82.  
  83.  
  84. TO PSYCH.FLIP
  85. LOCAL "OLD
  86. MAKE "OLD RGB 2
  87. REPEAT 6 [WAIT "FRAME]
  88. SETRGB 2 RGB 3
  89. SETRGB 3 :OLD
  90. END
  91.  
  92. TO DEMO.PSYCH
  93. PREP
  94. LOCAL "PENCLR
  95. MAKE "PENCLR 2
  96. WINDOW
  97. SETPC 1
  98. REPEAT 60 [FD 400 BK 400 RT 6]
  99. PU RT 3
  100. REPEAT 60 [PSYCH.FILL]
  101. RECYCLE
  102. SETPOS [-12 -8] PE GRTYPE "END PU
  103. HT REPEAT 50 [PSYCH.FLIP] ST
  104. ~ [FIN]
  105. END
  106.  
  107. TO PSYCH.FILL
  108. MAKE "PENCLR ITEM (:PENCLR - 1) [3 2]
  109. SETPC :PENCLR
  110. FD 150 PD FILLIN PU BK 150 RT 6
  111. END
  112.  
  113. TO FIN
  114. RECYCLE
  115. CS
  116. RESTORE.RGB
  117. END
  118.  
  119. TO WAIT.20F
  120. REPEAT 6 [WAIT "FRAME]
  121. END
  122.  
  123. TO RAND.DRAW :NPC :RGBL
  124. SETRGB :NPC :RGBL
  125. RECYCLE
  126. REPEAT 30 [RAND.POS]
  127. END
  128.  
  129. TO DEMO.ANGLE.BOX
  130. RERANDOM
  131. WINDOW
  132. RANDOM 100
  133. SETRGB 2 [14 0 0]
  134. SETRGB 3 [4 0 14]
  135. REPEAT 80 [RAND.BOX]
  136. RANDOM 100
  137. FORSTEP "I -200 200 8 [RAND.FILLIN :I]
  138. WAIT 120
  139. FIN
  140. END
  141.  
  142. TO DRAW.BOX :LEN
  143. REPEAT 4 [FD :LEN RT 90]
  144. END
  145.  
  146. TO DEMO.ROTATE.TURTLE
  147. PREP
  148. ROTATE.TURTLE
  149. END
  150.  
  151. TO SPIRAL.BOX
  152. LOCAL "S
  153. MAKE "S 2
  154. REPEAT 60 [BOX :S LT 90 MAKE "S :S + 2 RT 30]
  155. END
  156.  
  157. TO ROTATE.TURTLE
  158. CS
  159. REPEAT 90 [RT 23 WAIT "FRAME]
  160. END
  161.  
  162. TO BOX :SIZE
  163. REPEAT 4 [FD :SIZE RT 90]
  164. END
  165.  
  166. TO RAND.POS
  167. SETPC RANDOM 4
  168. SETPOS LIST RAND.X 638 RAND.Y 480
  169. END
  170.  
  171. TO SPIRA.BOX
  172. LOCAL "S
  173. MAKE "S 2
  174. REPEAT 40 [BOX :S LT 90 MAKE "S :S + 2 RT 30]
  175. END
  176.  
  177. TO SIDEBOX
  178. LT 45
  179. REPEAT 4 [FD 100 RT 90]
  180. RT 45
  181. END
  182.  
  183. TO SPARKLE
  184. SETRGB 2 [0 0 14] WAIT.20F
  185. SETRGB 3 [14 14 0] WAIT.20F
  186. SETRGB 2 [14 0 14] WAIT.20F
  187. SETRGB 3 [0 14 14] WAIT.20F
  188. SETRGB 2 [0 0 14] WAIT.20F
  189. SETRGB 3 [14 14 0] WAIT.20F
  190. SETRGB 2 [0 0 14] WAIT.20F
  191. SETRGB 3 [0 14 0] WAIT.20F
  192. SETRGB 2 [14 14 0] WAIT.20F
  193. END
  194.  
  195. TO DEMO.CIRC
  196. PREP
  197. SETPC 3
  198. SETRGB 3 [14 0 0]
  199. REPEAT 360 [FD 180 BK 180 RT 1]
  200. SETPC 2
  201. REPEAT 250 [FD 180 BK 180 RT RANDOM 30]
  202. SETPC 1
  203. REPEAT 100 [FD 180 BK 180 RT RANDOM 30]
  204. FIN
  205. END
  206.  
  207. TO DEMO.GROW.BOX
  208. HOME SETPC 3 GROW.BOX 5 180
  209. HOME SETPC 2 GROW.BOX 5 140
  210. HOME SETPC 1 GROW.BOX 5 100
  211. HOME SETPC 4 GROW.BOX 5 180
  212. FIN
  213. END
  214.  
  215. TO DEMO.RAND.CIRC
  216. PREP RERANDOM
  217. SETRGB 3 [14 0 0]
  218. WINDOW
  219. REPEAT 50 [SCATTER.CIRC RANDOM 100]
  220. REPEAT 2 [SPARKLE]
  221. FIN
  222. END
  223.  
  224. TO RESTORE.RGB
  225. SETRGB 2 :SCR.RGB.2
  226. SETRGB 3 :SCR.RGB.3
  227. END
  228.  
  229. TO GROW.BOX :SIZE :LIMIT
  230. IF :SIZE > :LIMIT [STOP]
  231. BOX :SIZE
  232. RT 20
  233. GROW.BOX :SIZE + 5 :LIMIT
  234. END
  235.  
  236. TO DEMO
  237. PRINT [AMIGA LOGO DEMO]
  238. CLEARSCREEN
  239. FULLSCREEN
  240. SAVE.RGB
  241. RESTORE.RGB
  242.  
  243. DEMO.ROTATE.TURTLE
  244. DEMO.CIRC
  245. DEMO.SPIRA.GRAPH
  246. DEMO.SPIRAL.BOX
  247. DEMO.GROW.BOX
  248. DEMO.RAND.CIRC
  249. DEMO.ANGLE.BOX
  250. DEMO.PSYCH
  251.  
  252. RESTORE.RGB
  253. SS
  254. PRINT [END OF DEMO, RETURNING TO SYSTEM]
  255. WAIT 60
  256. QUIT
  257. END
  258.  
  259. DEMO
  260.  
  261.